请教一道VB题"随机取得一个3位数,然后将该数转换为字符串数值.并将其百位数,十位数和个位数分开来显示"

来源:百度知道 编辑:UC知道 时间:2024/05/06 12:35:17

Private Sub Command1_Click()

Dim a As Integer

a = Int(Rnd * 900) + 100

a1 = Left(a, 1)
a2 = Mid(a, 2, 1)
a3 = Right(a, 1)

Print a, a1, a2, a3

End Sub

因为要产生一个三个位数...所以得加上100,同时不能是1000 因为是1000的话会产一个最大的是999,999+100=1099 所以不使用1000,只能使用900,因为使用900最大的数值是899,899+100=999,所以就是一个最大的三位数......

为什么要用加上100呢..因为考虑到rnd*1000.有可能产生0-99的数.那就不能保证一定是一个三位数了...

dim a as integer
dim b as string

//初始化随机种子
randomize()

//随机生成3位数
a = int(rnd()*900 + 100)

//转换b为字符并分别显示百、十、个位数
b = str(a)

print mid(b, 1, 1)
print mid(b, 2, 1)
print mid(b, 3, 1)

Private Sub Form_Click()
Me.Cls
Randomize
a = Int(Rnd * 900 + 100)
Print "随机取得的三位数是" & a
Print "百位是" & Mid(a, 1, 1) & "十位是" & Mid(a, 2, 1) & "个位是" & Mid(a, 3, 1)
End Sub